<!DOCTYPE html>


















































<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

  <meta name="description" content="Javadoc API documentation for org.eclipse.sisu.inject." />

<!-- <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> -->
<title>

  org.eclipse.sisu.bean


| org.eclipse.sisu.inject

</title>
<link href="../../../../../assets/doclava-developer-docs.css" rel="stylesheet" type="text/css" />
<link href="../../../../../assets/customizations.css" rel="stylesheet" type="text/css" />
<script src="../../../../../assets/search_autocomplete.js" type="text/javascript"></script>
<script src="../../../../../assets/jquery-resizable.min.js" type="text/javascript"></script>
<script src="../../../../../assets/doclava-developer-docs.js" type="text/javascript"></script>
<script src="../../../../../assets/prettify.js" type="text/javascript"></script>
<script type="text/javascript">
  setToRoot("../../../../", "../../../../../assets/");
</script>
<script src="../../../../../assets/doclava-developer-reference.js" type="text/javascript"></script>
<script src="../../../../../assets/navtree_data.js" type="text/javascript"></script>
<script src="../../../../../assets/customizations.js" type="text/javascript"></script>
<noscript>
  <style type="text/css">
    html,body{overflow:auto;}
    #body-content{position:relative; top:0;}
    #doc-content{overflow:visible;border-left:3px solid #666;}
    #side-nav{padding:0;}
    #side-nav .toggle-list ul {display:block;}
    #resize-packages-nav{border-bottom:3px solid #666;}
  </style>
</noscript>
</head>

<body class="">

<div id="header">
    <div id="headerLeft">
    
      <span id="masthead-title">org.eclipse.sisu.inject</span>
    
    </div>
    <div id="headerRight">
      
  <div id="search" >
      <div id="searchForm">
          <form accept-charset="utf-8" class="gsc-search-box" 
                onsubmit="return submit_search()">
            <table class="gsc-search-box" cellpadding="0" cellspacing="0"><tbody>
                <tr>
                  <td class="gsc-input">
                    <input id="search_autocomplete" class="gsc-input" type="text" size="33" autocomplete="off"
                      title="search developer docs" name="q"
                      value="search developer docs"
                      onFocus="search_focus_changed(this, true)"
                      onBlur="search_focus_changed(this, false)"
                      onkeydown="return search_changed(event, true, '../../../../')"
                      onkeyup="return search_changed(event, false, '../../../../')" />
                  <div id="search_filtered_div" class="no-display">
                      <table id="search_filtered" cellspacing=0>
                      </table>
                  </div>
                  </td>
                  <td class="gsc-search-button">
                    <input type="submit" value="Search" title="search" id="search-button" class="gsc-search-button" />
                  </td>
                  <td class="gsc-clear-button">
                    <div title="clear results" class="gsc-clear-button">&nbsp;</div>
                  </td>
                </tr></tbody>
              </table>
          </form>
      </div><!-- searchForm -->
  </div><!-- search -->
      
    </div>
</div><!-- header -->


  <div class="g-section g-tpl-240" id="body-content">
    <div class="g-unit g-first side-nav-resizable" id="side-nav">
      <div id="swapper">
        <div id="nav-panels">
          <div id="resize-packages-nav">
            <div id="packages-nav">
              <div id="index-links">
                <a href="../../../../packages.html"  >Package Index</a> | 
                <a href="../../../../classes.html" >Class Index</a>
              </div>
              <ul>
                
    <li class="api apilevel-">
  <a href="../../../../org/eclipse/sisu/package-summary.html">org.eclipse.sisu</a></li>
    <li class="selected api apilevel-">
  <a href="../../../../org/eclipse/sisu/bean/package-summary.html">org.eclipse.sisu.bean</a></li>
    <li class="api apilevel-">
  <a href="../../../../org/eclipse/sisu/inject/package-summary.html">org.eclipse.sisu.inject</a></li>
    <li class="api apilevel-">
  <a href="../../../../org/eclipse/sisu/launch/package-summary.html">org.eclipse.sisu.launch</a></li>
    <li class="api apilevel-">
  <a href="../../../../org/eclipse/sisu/osgi/package-summary.html">org.eclipse.sisu.osgi</a></li>
    <li class="api apilevel-">
  <a href="../../../../org/eclipse/sisu/space/package-summary.html">org.eclipse.sisu.space</a></li>
    <li class="api apilevel-">
  <a href="../../../../org/eclipse/sisu/wire/package-summary.html">org.eclipse.sisu.wire</a></li>
    <li class="api apilevel-">
  <a href="../../../../org/sonatype/inject/package-summary.html">org.sonatype.inject</a></li>
              </ul><br/>
            </div> <!-- end packages -->
          </div> <!-- end resize-packages -->
          <div id="classes-nav">
            <ul>
              
    <li><h2>Interfaces</h2>
      <ul>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/BeanBinder.html">BeanBinder</a></li>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/BeanManager.html">BeanManager</a></li>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/BeanProperty.html">BeanProperty</a>&lt;T&gt;</li>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/PropertyBinder.html">PropertyBinder</a></li>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/PropertyBinding.html">PropertyBinding</a></li>
      </ul>
    </li>
              
    <li><h2>Classes</h2>
      <ul>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/BeanListener.html">BeanListener</a></li>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/BeanProperties.html">BeanProperties</a></li>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/BeanScheduler.html">BeanScheduler</a></li>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/DeclaredMembers.html">DeclaredMembers</a></li>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/LifecycleManager.html">LifecycleManager</a></li>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/LifecycleModule.html">LifecycleModule</a></li>
      </ul>
    </li>
              
    <li><h2>Annotations</h2>
      <ul>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/IgnoreSetters.html">IgnoreSetters</a></li>
      </ul>
    </li>
              
    <li><h2>Enums</h2>
      <ul>
        <li class="api apilevel-"><a href="../../../../org/eclipse/sisu/bean/DeclaredMembers.View.html">DeclaredMembers.View</a></li>
      </ul>
    </li>
              
              
            </ul><br/>
          </div><!-- end classes -->
        </div><!-- end nav-panels -->
        <div id="nav-tree" style="display:none">
          <div id="index-links">
            <a href="../../../../packages.html"  >Package Index</a> | 
            <a href="../../../../classes.html" >Class Index</a>
          </div>
        </div><!-- end nav-tree -->
      </div><!-- end swapper -->
    </div> <!-- end side-nav -->
    <script>
      if (!isMobile) {
        <!-- $("<a href='#' id='nav-swap' onclick='swapNav();return false;' style='font-size:10px;line-height:9px;margin-left:1em;text-decoration:none;'><span id='tree-link'>Use Tree Navigation</span><span id='panel-link' style='display:none'>Use Panel Navigation</span></a>").appendTo("#side-nav"); -->
        chooseDefaultNav();
        if ($("#nav-tree").is(':visible')) {
          init_default_navtree("../../../../");
        } else {
          addLoadEvent(function() {
            scrollIntoView("packages-nav");
            scrollIntoView("classes-nav");
          });
        }
        $("#swapper").css({borderBottom:"2px solid #aaa"});
      } else {
        swapNav(); // tree view should be used on mobile
      }
    </script>



<div class="g-unit" id="doc-content">

<div id="api-info-block">
<div class="api-level">
  


  
  

</div>
</div>

<div id="jd-header">
  package
  <h1>org.eclipse.sisu.bean</h1>
</div><!-- end header -->

<div id="naMessage"></div>

<div id="jd-content" class="api apilevel-">


  <div class="jd-descr">
    Customizable injection of bean properties, based on <a href="http://code.google.com/p/google-guice/wiki/CustomInjections">http://code.google.com/p/google-guice/wiki/CustomInjections</a>.
 <p><p>
 For example:
 
 <pre>
 new AbstractModule() {
   &#064;Override protected void configure() {
     bindListener( Matchers.any(), new BeanListener( new MyBeanBinder() ) );
   }
 }</pre>
 <code>MyBeanBinder</code> will be asked to supply a <code><a href="../../../../org/eclipse/sisu/bean/PropertyBinder.html">PropertyBinder</a></code> for each bean type, say Foo.
 <p><p>
 That <code>PropertyBinder</code> will be asked to supply a <code><a href="../../../../org/eclipse/sisu/bean/PropertyBinding.html">PropertyBinding</a></code> for each property (field or setter) in Foo.
 <p><p>
 Those <code>PropertyBinding</code>s are then used to automatically configure any injected instances of Foo.

  </div>





  
    <h2>Interfaces</h2>
    <div class="jd-sumtable">
    
  <table class="jd-sumtable-expando">
        <tr class="alt-color api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/BeanBinder.html">BeanBinder</a></td>
              <td class="jd-descrcol" width="100%">Provides custom <code><a href="../../../../org/eclipse/sisu/bean/PropertyBinder.html">PropertyBinder</a></code>s for beans that contain one or more properties.&nbsp;</td>
          </tr>
        <tr class=" api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/BeanManager.html">BeanManager</a></td>
              <td class="jd-descrcol" width="100%">Service that manages the lifecycle of beans.&nbsp;</td>
          </tr>
        <tr class="alt-color api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/BeanProperty.html">BeanProperty</a>&lt;T&gt;</td>
              <td class="jd-descrcol" width="100%">Represents a bean property such as a field or setter method.&nbsp;</td>
          </tr>
        <tr class=" api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/PropertyBinder.html">PropertyBinder</a></td>
              <td class="jd-descrcol" width="100%">Provides custom <code><a href="../../../../org/eclipse/sisu/bean/PropertyBinding.html">PropertyBinding</a></code>s for bean properties such as fields or setter methods.&nbsp;</td>
          </tr>
        <tr class="alt-color api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/PropertyBinding.html">PropertyBinding</a></td>
              <td class="jd-descrcol" width="100%">Represents a bean property that has been bound by a <code><a href="../../../../org/eclipse/sisu/bean/PropertyBinder.html">PropertyBinder</a></code>.&nbsp;</td>
          </tr>
  </table>
    </div>
  


  
    <h2>Classes</h2>
    <div class="jd-sumtable">
    
  <table class="jd-sumtable-expando">
        <tr class="alt-color api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/BeanListener.html">BeanListener</a></td>
              <td class="jd-descrcol" width="100%">TypeListener that listens for bean types and arranges for their properties to be injected.&nbsp;</td>
          </tr>
        <tr class=" api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/BeanProperties.html">BeanProperties</a></td>
              <td class="jd-descrcol" width="100%">Iterable that iterates over potential bean properties in a class hierarchy.&nbsp;</td>
          </tr>
        <tr class="alt-color api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/BeanScheduler.html">BeanScheduler</a></td>
              <td class="jd-descrcol" width="100%">Schedules safe activation of beans even when cyclic dependencies are involved.&nbsp;</td>
          </tr>
        <tr class=" api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/DeclaredMembers.html">DeclaredMembers</a></td>
              <td class="jd-descrcol" width="100%">Iterable that iterates over declared members of a class hierarchy.&nbsp;</td>
          </tr>
        <tr class="alt-color api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/LifecycleManager.html">LifecycleManager</a></td>
              <td class="jd-descrcol" width="100%"><code><a href="../../../../org/eclipse/sisu/bean/BeanManager.html">BeanManager</a></code> that manages JSR250 beans and schedules lifecycle events.&nbsp;</td>
          </tr>
        <tr class=" api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/LifecycleModule.html">LifecycleModule</a></td>
              <td class="jd-descrcol" width="100%">Guice Module that provides JSR250 lifecycle management by following PostConstruct and
 PreDestroy annotations.&nbsp;</td>
          </tr>
  </table>
    </div>
  


  
    <h2>Annotations</h2>
    <div class="jd-sumtable">
    
  <table class="jd-sumtable-expando">
        <tr class="alt-color api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/IgnoreSetters.html">IgnoreSetters</a></td>
              <td class="jd-descrcol" width="100%">Annotates class hierarchies that don't want setter injection.&nbsp;</td>
          </tr>
  </table>
    </div>
  


  
    <h2>Enums</h2>
    <div class="jd-sumtable">
    
  <table class="jd-sumtable-expando">
        <tr class="alt-color api apilevel-" >
              <td class="jd-linkcol"><a href="../../../../org/eclipse/sisu/bean/DeclaredMembers.View.html">DeclaredMembers.View</a></td>
              <td class="jd-descrcol" width="100%">Enum implementation that provides different views of a class's members.&nbsp;</td>
          </tr>
  </table>
    </div>
  


  


  


<div id="footer">
Generated by <a href="http://code.google.com/p/doclava/">Doclava</a>.
</div> <!-- end footer -->

</div><!-- end jd-content -->
</div><!-- doc-content -->

</div> <!-- end body-content --> 

<script type="text/javascript">
init(); /* initialize doclava-developer-docs.js */
</script>

</body>
</html>
